//==============================================================================
// EXPFile.hh
//-----------------------------------------------------------------------------
// Handles specifics of parsing an EXP format file. 
//
//------------------------------------------------------------------------------
// $Id: $
//------------------------------------------------------------------------------
// $Log: $
//
//==============================================================================
//.......1.........2.........3.........4.........5.........6.........7.........8
//

#include "LocalSTL.hh"
#include "Sequence.hh"
#include "ParseUtils.hh"

#ifndef _EXP_FILE
#define _EXP_FILE


//------------------------------------------------------------------------------
// * EXPFile
//------------------------------------------------------------------------------
// 
// Encapsulates methods to read and write EXP format files.  Perhaps a bit 
// too little to be a class in and of itself, but I like separating file parsing
// functionality from the data abstraction class (here Sequence or SequenceQuality),
// which I think should be kept ignorant of where the data comes from. 
//
class EXPFile{
public:

  void Write(string RootPath,Sequence &Seq,SequenceQuality &Qual);
  bool Read(string FileName,Sequence &Seq,SequenceQuality &Qual);

  static const int mQualLineSize = 25;
  static const int mSeqLineSize = 50;

};

#endif
